define {i32, i32, i32} @struct_ins({i32, i32, i32} %x, i32 %y)
{
        %a0 = insertvalue {i32, i32, i32} %x, i32 %y, 1
        ret {i32, i32, i32} %a0
}

define {i32, i32, i32} @struct_retval_1({i32, i32, i32}* %x)
{
        %a0 = load {i32, i32, i32}* %x
        ret {i32, i32, i32} %a0
}

define i32 @struct_ext({i32, i32, i32} %x)
{
        %a0 = extractvalue {i32, i32, i32} %x, 1
        ret i32 %a0
}

define {i32, i32, i32} @struct_retval_0({i32, i32, i32} %x)
{
        ret {i32, i32, i32} %x
}

define i32 @struct_gep({i32, i32, i32}* %x)
{
        %a0 = getelementptr {i32, i32, i32} * %x, i32 0, i32 1
        %z0 = load i32* %a0
        ret i32 %z0
}

